From 340702fd894add8adcdfd6c5742f41f89aa1fed2 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 17 Dec 2013 18:35:16 +0000 Subject: [PATCH] xen: Document that EVTCHNOP_bind_interdomain signals EVTCHNOP_bind_interdomain signals the event channel. Document this. Also explain the usual use pattern. Signed-off-by: Ian Jackson Acked-by: Ian Campbell CC: Keir Fraser CC: Jan Beulich --- xen/include/public/event_channel.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/xen/include/public/event_channel.h b/xen/include/public/event_channel.h index b78ee32726..49ac8cca53 100644 --- a/xen/include/public/event_channel.h +++ b/xen/include/public/event_channel.h @@ -101,6 +101,17 @@ typedef struct evtchn_alloc_unbound evtchn_alloc_unbound_t; * a port that is unbound and marked as accepting bindings from the calling * domain. A fresh port is allocated in the calling domain and returned as * . + * + * In case the peer domain has already tried to set our event channel + * pending, before it was bound, EVTCHNOP_bind_interdomain always sets + * the local event channel pending. + * + * The usual pattern of use, in the guest's upcall (or subsequent + * handler) is as follows: (Re-enable the event channel for subsequent + * signalling and then) check for the existence of whatever condition + * is being waited for by other means, and take whatever action is + * needed (if any). + * * NOTES: * 1. may be DOMID_SELF, allowing loopback connections. */ -- 2.30.2